package exception;

/**
 * finally块时异常机制的最后一块
 * 1.可以直接跟在try语句块之后，或者跟在一个catch之后
 * 2.可以保证只要程序执行到try块中，无论try中的代码是否出现异常，finally块最终都必定被执行
 * 3.通常用来执行释放资源这一类的操作，例如：IO操作完毕后的关闭流
 */
public class FinallyDemo {
    public static void main(String[] args) {
        //try...catch...finally

        System.out.println("程序开始了...");

        //1)不报错  2）报异常
        try{
            String str = "abc";
           // String str = null;
            System.out.println(str.length());
            System.out.println("try块正常结束了");
            return;  //哪怕returnl了，也会先执行finally中的代码在结束方法---结束方法，程序结束了...不走
        }catch (Exception e){
            System.out.println("出错并处理了...");
        }finally {
            System.out.println("finally中的代码执行了...");
        }


        System.out.println("程序结束了...");
    }
}
